package com.example.service;

import com.example.model.Blog;
import java.util.List;

/**
 * 博客服务接口
 */
public interface BlogService {
    /**
     * 创建博客
     * @param blog 博客对象
     * @return 新创建博客的ID，失败返回-1
     */
    int createBlog(Blog blog);
    
    /**
     * 删除博客
     * @param id 博客ID
     * @return 是否删除成功
     */
    boolean deleteBlog(int id);
    
    /**
     * 更新博客信息
     * @param blog 博客对象
     * @return 是否更新成功
     */
    boolean updateBlog(Blog blog);
    
    /**
     * 根据ID查询博客
     * @param id 博客ID
     * @return 博客对象
     */
    Blog getBlogById(int id);
    
    /**
     * 获取所有博客
     * @return 博客列表
     */
    List<Blog> getAllBlogs();
    
    /**
     * 根据用户ID获取博客列表
     * @param userId 用户ID
     * @return 博客列表
     */
    List<Blog> getBlogsByUserId(int userId);
    
    /**
     * 根据分类获取博客列表
     * @param category 分类
     * @return 博客列表
     */
    List<Blog> getBlogsByCategory(String category);
    
    /**
     * 关键词搜索博客
     * @param keyword 关键词
     * @return 博客列表
     */
    List<Blog> searchBlogs(String keyword);
    
    /**
     * 获取热门博客
     * @param limit 限制数量
     * @return 热门博客列表
     */
    List<Blog> getHotBlogs(int limit);
    
    /**
     * 增加博客阅读量
     * @param id 博客ID
     * @return 是否成功
     */
    boolean incrementViewCount(int id);
} 